<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="PasDoc 0.11.0">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>vmm</title>
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
<h1 class="unit">Unit vmm</h1>
<table class="sections wide_list">
<tr>
<td><a class="section"  href="#%40Description">Description</a></td><td>uses</td><td>Classes, Interfaces, Objects and Records</td><td><a class="section"  href="#%40FuncsProcs">Functions and Procedures</a></td><td><a class="section"  href="#%40Types">Types</a></td><td><a class="section"  href="#%40Constants">Constants</a></td><td><a class="section"  href="#%40Variables">Variables</a></td></tr></table>
<a name="%40Description"></a><h2 class="description">Description</h2>
&nbsp;<a name="%40Uses"></a><h2 class="overview">Overview</h2>
<a name="%40FuncsProcs"></a><h3 class="summary">Functions and Procedures</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code>procedure <b><a   href="vmm.html#InstallVMM">InstallVMM</a></b>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code>procedure <b><a   href="vmm.html#SwitchPageDir">SwitchPageDir</a></b>(const pd: <a   href="vmm.html#PPageDir">PPageDir</a>);</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code>procedure <b><a   href="vmm.html#Map">Map</a></b>(const va, pa: LongWord; const IsPresent, IsWritable, IsUserMode: Boolean);</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code>procedure <b><a   href="vmm.html#UnMap">UnMap</a></b>(const va: LongWord);</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code>function <b><a   href="vmm.html#GetMapping">GetMapping</a></b>(const va: LongWord; pa: PLongWord): Boolean;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code>function <b><a   href="vmm.html#VirtToPhys">VirtToPhys</a></b>(va:Longword):Longword;</code></td>
</tr>
</table>
<a name="%40Types"></a><h3 class="summary">Types</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#UBit3">UBit3</a></b> = 0..(1 shl 3) - 1;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#UBit20">UBit20</a></b> = 0..(1 shl 20) - 1;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#PPageTableEntry">PPageTableEntry</a></b> = &circ;<a   href="vmm.html#TPageTableEntry">TPageTableEntry</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#TPageTableEntry">TPageTableEntry</a></b> = bitpacked record
    Present, Writable, UserMode, WriteThrough,
    NotCacheable, Accessed, Dirty, AttrIndex,
    GlobalPage: Boolean;
    Avail: <a   href="vmm.html#UBit3">UBit3</a>;
    FrameAddr: <a   href="vmm.html#UBit20">UBit20</a>;
  end;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#PPageDirEntry">PPageDirEntry</a></b> = &circ;<a   href="vmm.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#TPageDirEntry">TPageDirEntry</a></b> = bitpacked record
    Present, Writable, UserMode, WriteThrough,
    NotCacheable, Accessed, Reserved, <a   href="pmm.html#PageSize">PageSize</a>,
    GlobalPage: Boolean;
    Avail: <a   href="vmm.html#UBit3">UBit3</a>;
    TableAddr: <a   href="vmm.html#UBit20">UBit20</a>;
  end;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#PPageTable">PPageTable</a></b> = &circ;<a   href="vmm.html#TPageTable">TPageTable</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#TPageTable">TPageTable</a></b> = array [0..1023] of <a   href="vmm.html#TPageTableEntry">TPageTableEntry</a>;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#PPageDir">PPageDir</a></b> = &circ;<a   href="vmm.html#TPageDir">TPageDir</a>;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#TPageDir">TPageDir</a></b> = array [0..1023] of <a   href="vmm.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
</tr>
</table>
<a name="%40Constants"></a><h3 class="summary">Constants</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#PageDirVirtAddr">PageDirVirtAddr</a></b> = $FFBFF000;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#PageTableVirtAddr">PageTableVirtAddr</a></b> = $FFC00000;</code></td>
</tr>
</table>
<a name="%40Variables"></a><h3 class="summary">Variables</h3>
<table class="summary wide_list">
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#current_directory">current_directory</a></b>:longword;</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#current_page">current_page</a></b>:longword;</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#kernel_directory">kernel_directory</a></b>:longword; export name 'kernel_directory';</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#PageDir">PageDir</a></b>: <a   href="vmm.html#PPageDir">PPageDir</a> = <a   href="vmm.html#PPageDir">PPageDir</a>(<a   href="vmm.html#PageDirVirtAddr">PageDirVirtAddr</a>);</code></td>
</tr>
<tr class="list">
<td class="itemcode"><code><b><a   href="vmm.html#PageTables">PageTables</a></b>: <a   href="vmm.html#PPageTable">PPageTable</a> = <a   href="vmm.html#PPageTable">PPageTable</a>(<a   href="vmm.html#PageTableVirtAddr">PageTableVirtAddr</a>);</code></td>
</tr>
<tr class="list2">
<td class="itemcode"><code><b><a   href="vmm.html#CurrentPageDir">CurrentPageDir</a></b>: <a   href="vmm.html#PPageDir">PPageDir</a>;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Functions and Procedures</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="InstallVMM"></a><code>procedure <b>InstallVMM</b>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="SwitchPageDir"></a><code>procedure <b>SwitchPageDir</b>(const pd: <a   href="vmm.html#PPageDir">PPageDir</a>);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="Map"></a><code>procedure <b>Map</b>(const va, pa: LongWord; const IsPresent, IsWritable, IsUserMode: Boolean);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="UnMap"></a><code>procedure <b>UnMap</b>(const va: LongWord);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="GetMapping"></a><code>function <b>GetMapping</b>(const va: LongWord; pa: PLongWord): Boolean;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="VirtToPhys"></a><code>function <b>VirtToPhys</b>(va:Longword):Longword;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<h3 class="detail">Types</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="UBit3"></a><code><b>UBit3</b> = 0..(1 shl 3) - 1;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="UBit20"></a><code><b>UBit20</b> = 0..(1 shl 20) - 1;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PPageTableEntry"></a><code><b>PPageTableEntry</b> = &circ;<a   href="vmm.html#TPageTableEntry">TPageTableEntry</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="TPageTableEntry"></a><code><b>TPageTableEntry</b> = bitpacked record
    Present, Writable, UserMode, WriteThrough,
    NotCacheable, Accessed, Dirty, AttrIndex,
    GlobalPage: Boolean;
    Avail: <a   href="vmm.html#UBit3">UBit3</a>;
    FrameAddr: <a   href="vmm.html#UBit20">UBit20</a>;
  end;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PPageDirEntry"></a><code><b>PPageDirEntry</b> = &circ;<a   href="vmm.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="TPageDirEntry"></a><code><b>TPageDirEntry</b> = bitpacked record
    Present, Writable, UserMode, WriteThrough,
    NotCacheable, Accessed, Reserved, <a   href="pmm.html#PageSize">PageSize</a>,
    GlobalPage: Boolean;
    Avail: <a   href="vmm.html#UBit3">UBit3</a>;
    TableAddr: <a   href="vmm.html#UBit20">UBit20</a>;
  end;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PPageTable"></a><code><b>PPageTable</b> = &circ;<a   href="vmm.html#TPageTable">TPageTable</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="TPageTable"></a><code><b>TPageTable</b> = array [0..1023] of <a   href="vmm.html#TPageTableEntry">TPageTableEntry</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PPageDir"></a><code><b>PPageDir</b> = &circ;<a   href="vmm.html#TPageDir">TPageDir</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="TPageDir"></a><code><b>TPageDir</b> = array [0..1023] of <a   href="vmm.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<h3 class="detail">Constants</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PageDirVirtAddr"></a><code><b>PageDirVirtAddr</b> = $FFBFF000;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PageTableVirtAddr"></a><code><b>PageTableVirtAddr</b> = $FFC00000;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<h3 class="detail">Variables</h3>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="current_directory"></a><code><b>current_directory</b>:longword;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="current_page"></a><code><b>current_page</b>:longword;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="kernel_directory"></a><code><b>kernel_directory</b>:longword; export name 'kernel_directory';</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PageDir"></a><code><b>PageDir</b>: <a   href="vmm.html#PPageDir">PPageDir</a> = <a   href="vmm.html#PPageDir">PPageDir</a>(<a   href="vmm.html#PageDirVirtAddr">PageDirVirtAddr</a>);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="PageTables"></a><code><b>PageTables</b>: <a   href="vmm.html#PPageTable">PPageTable</a> = <a   href="vmm.html#PPageTable">PPageTable</a>(<a   href="vmm.html#PageTableVirtAddr">PageTableVirtAddr</a>);</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="itemcode"><a name="CurrentPageDir"></a><code><b>CurrentPageDir</b>: <a   href="vmm.html#PPageDir">PPageDir</a>;</code></td>
</tr>
<tr><td colspan="1">
&nbsp;</td></tr>
</table>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.11.0</a> on 2013-10-12 18:10:06</em>
</span>
</body></html>
